#include <iostream>
using namespace std;

/*
    static修饰成员函数--》 静态成员函数
      1.静态成员函数可以通过类名直接调用(不需要定义对象，直接用类名即可调用)
      2.静态成员函数中只能使用static修饰的成员变量，非static修饰不能使用
      应用：作为工具类使用
      工具类：该类专门提供算法函数给别人使用
      class Math公式 //工具类
      {
         public:
         static 求偏导数();
         static 求积分();
         static 求无人机飞行加速度和角速度();
       }；
        Math公式::求偏导数();   //不需要定义对象，直接调用
*/

class Cat
{
public:
    Cat(int a, string n)
    {
        age = a;
        name = n;
    }

    static void fun()
    {
        cout << "static fun()" << endl;
        // cout << "age = " << age << endl;  // 静态成员函数中只能使用static修饰的成员变量，非static修饰不能使用
    }

    void show(int n) const
    {
        n = 10;
        // name = "Tom"; // const修饰的成员函数不能修改成员变量的值
        cout << "age = " << age << endl;
        cout << "n = " << n << endl;
    }

private:
    int age;
    string name;
};

int main()
{
    Cat::fun();
    Cat c(11, "Tom");
    c.fun();

    return 0;
}